// ==========================================================================
// GFast自动生成model操作代码。
// 生成日期：2024-06-11 17:49:23
// 生成路径: internal/app/app/model/app_nav.go
// 生成人：gfast
// desc:应用导航
// company:云南奇讯科技有限公司
// ==========================================================================

package model

import (
	"github.com/gogf/gf/v2/os/gtime"
	"github.com/gogf/gf/v2/util/gmeta"
	comModel "github.com/tiger1103/gfast/v3/internal/app/common/model"
)

// AppNavInfoRes is the golang structure for table app_nav.
type AppNavInfoRes struct {
	gmeta.Meta  `orm:"table:app_nav"`
	Id          uint        `orm:"id,primary" json:"id" dc:"ID"`           // ID
	Name        string      `orm:"name" json:"name" dc:"名称"`               // 名称
	Icon        string      `orm:"icon" json:"icon" dc:"图标"`               // 图标
	Description string      `orm:"description" json:"description" dc:"描述"` // 描述
	CreatedAt   *gtime.Time `orm:"created_at" json:"createdAt" dc:"创建日期"`  // 创建日期
	DeletedAt   *gtime.Time `orm:"deleted_at" json:"deletedAt" dc:"删除日期"`  // 删除日期
	Status      int         `orm:"status" json:"status" dc:"状态"`           // 状态
}

type AppNavListRes struct {
	Id          uint        `json:"id" dc:"ID"`
	Name        string      `json:"name" dc:"名称"`
	Icon        string      `json:"icon" dc:"图标"`
	Description string      `json:"description" dc:"描述"`
	CreatedAt   *gtime.Time `json:"createdAt" dc:"创建日期"`
	Status      int         `json:"status" dc:"状态"`
}

// AppNavSearchReq 分页请求参数
type AppNavSearchReq struct {
	comModel.PageReq
	Id          string `p:"id" dc:"ID"`                                                             //ID
	Name        string `p:"name" dc:"名称"`                                                           //名称
	Icon        string `p:"icon" dc:"图标"`                                                           //图标
	Description string `p:"description" dc:"描述"`                                                    //描述
	CreatedAt   string `p:"createdAt" v:"createdAt@datetime#创建日期需为YYYY-MM-DD hh:mm:ss格式" dc:"创建日期"` //创建日期
	Status      string `p:"status" v:"status@integer#状态需为整数" dc:"状态"`                               //状态
}

// AppNavSearchRes 列表返回结果
type AppNavSearchRes struct {
	comModel.ListRes
	List []*AppNavListRes `json:"list"`
}

// AppNavAddReq 添加操作请求参数
type AppNavAddReq struct {
	Name        string `p:"name" v:"required#名称不能为空" dc:"名称"`
	Icon        string `p:"icon"  dc:"图标"`
	Description string `p:"description"  dc:"描述"`
	Status      int    `p:"status" v:"required#状态不能为空" dc:"状态"`
}

// AppNavEditReq 修改操作请求参数
type AppNavEditReq struct {
	Id          uint   `p:"id" v:"required#主键ID不能为空" dc:"ID"`
	Name        string `p:"name" v:"required#名称不能为空" dc:"名称"`
	Icon        string `p:"icon"  dc:"图标"`
	Description string `p:"description"  dc:"描述"`
	Status      int    `p:"status" v:"required#状态不能为空" dc:"状态"`
}
